package com.jch.dm.chapter_19_state;

/**
 * @author: Administrator
 * @create: 2020/04/10 15:36
 **/
public class DayState implements State {

    private static DayState singleton = new DayState();

    /**
     * 设置构造函数可见性为私有
     */
    private DayState() {
    }

    /**
     * 获取单例
     * @return
     */
    public static State getInstance(){
        return singleton;
    }

    /**
     * 设置时间
     *
     * @param context
     * @param hour
     */
    @Override
    public void doClock(Context context, int hour) {
        if (hour<9||17<=hour){
            context.changeState(NightState.getInstance());
        }
    }

    /**
     * 使用金库
     *
     * @param context
     */
    @Override
    public void doUse(Context context) {
        context.callSecurityCenter("使用金库（白天）");
    }

    /**
     * 按下警铃
     *
     * @param context
     */
    @Override
    public void doAlarm(Context context) {
        context.callSecurityCenter("按下警铃（白天）");
    }

    /**
     * 正常通话
     *
     * @param context
     */
    @Override
    public void doPhone(Context context) {
        context.callSecurityCenter("正常通话（白天）");
    }

    @Override
    public String toString(){
        return "[白天]";
    }
}
